Methods and apparatus to determine vehicle weight

ABSTRACT

Methods and apparatus to determine vehicle weight are disclosed. An example apparatus includes a vehicle controller configured to control a motor operatively coupled to a suspension system to raise or lower a vehicle. The vehicle controller is to also determine a first parameter of the motor while controlling the motor to raise or lower the vehicle when the vehicle is unloaded. The vehicle controller is to also determine a second parameter of the motor while controlling the motor to raise or lower the vehicle when the vehicle is at least partially loaded. The vehicle controller is to also calculate a weight of the vehicle based on the first and second parameters of the motor.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/658,967, filed Apr. 17, 2018. U.S. Provisional PatentApplication No. 62/658,967 is hereby incorporated by reference in itsentirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to vehicles and, more particularly, tomethods and apparatus to determine vehicle weight.

BACKGROUND

Some vehicles such as vans, trucks, sport utility vehicles (SUVs), etc.can carry significant weight and are associated with weight limits thatshould not be exceeded. As such, to ensure proper vehicle handlingand/or performance during normal use, a vehicle is loaded such thatcargo, freight, etc. carried thereby does not exceed a weight limit ofthe vehicle. A driver may determine whether a vehicle is properly loadedby visual inspection of the vehicle (e.g., based on a ride height of thevehicle associated with rear wheels of the vehicle). Alternatively, thedriver may drive the vehicle to a weigh station to determine a weight ofthe vehicle.

SUMMARY

An example apparatus includes a vehicle controller configured to controla motor operatively coupled to a suspension system to raise or lower avehicle. The vehicle controller is also to determine a first parameterof the motor while controlling the motor to raise or lower the vehiclewhen the vehicle is unloaded. The vehicle controller is also todetermine a second parameter of the motor while controlling the motor toraise or lower the vehicle when the vehicle is at least partiallyloaded. The vehicle controller is also to calculate a weight of thevehicle based on the first and second parameters of the motor.

An example vehicle includes a suspension system. The vehicle alsoincludes a controller configured to control, via a motor, the suspensionsystem to adjust a ride height of the vehicle. The controller is also toperform a comparison of first and second parameters of the motor. Thefirst parameter is based on operating the motor when the vehicle isunloaded. The second parameter is based on operating the motor when thevehicle is at least partially loaded. The controller is also tocalculate a weight of the vehicle based on the comparison.

An example tangible machine-readable storage medium includesinstructions which, when executed, cause a processor to at least controla motor operatively coupled to a suspension system to change a rideheight of a vehicle. The instructions also cause the processor todetermine a first parameter of the motor while controlling the motor toraise or lower the vehicle when the vehicle is unloaded. Theinstructions also cause the processor to determine a second parameter ofthe motor while controlling the motor to raise or lower the vehicle whenthe vehicle is loaded. The instructions also cause the processor tocalculate a weight of the vehicle based on the first and secondparameters of the motor.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a view of an example vehicle in which examples disclosedherein may be implemented.

FIGS. 1B and 1C are block diagrams showing example suspension componentconfigurations in accordance with examples disclosed herein.

FIGS. 2 and 3 are detailed partial views of an example suspensioncomponent showing an example motor in accordance with examples disclosedherein.

FIG. 4 is a block diagram of an example weight determination system inaccordance with the teachings of this disclosure.

FIG. 5 is a graph illustrating example data associated with examplesdisclosed herein.

FIGS. 6-8 are flow diagrams of example methods that may be executed toimplement the example weight determination system of FIG. 4.

FIG. 9 is a block diagram of an example processor platform structured toexecute instructions to carry out the example methods of FIGS. 6-8and/or, more generally, to implement the example weight determinationsystem of FIG. 4.

The figures are not to scale. In general, the same reference numberswill be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts.

DETAILED DESCRIPTION

Some vehicles are enclosed such that cargo carried by the vehicle is notvisible from outside the vehicle, which impedes a driver from visuallydetermining a vehicle weight and/or a distribution of the vehicleweight. Further, some vehicles are implemented with known heightleveling systems (sometimes referred to as ride height leveling (RHL)systems) that raise or lower the vehicle based on a weight distributionof the vehicle, which maintains a uniform or constant ride height acrossa chassis of the vehicle. Such known leveling systems further impede thedriver from determining how the vehicle is loaded based on an appearanceof the vehicle. Further, known weight measuring systems may not becapable of effectively and/or accurately measuring vehicle weight due tointerference from a known RHL system. As a result, the driver mayimproperly load (e.g., overload) the vehicle, which adversely affectsride quality or vehicle stability and/or may incur costs (e.g., ticketsand/or fees associated with operating an overloaded vehicle).Additionally, an improperly loaded vehicle can wear and/or degrade oneor more vehicle components.

Methods and apparatus to determine vehicle weight are disclosed.Examples disclosed herein determine a weight (e.g., an average weight,an axle weight, etc.) associated with a vehicle and inform a person(e.g., a driver, a passenger, vehicle service personnel, etc.) of theweight, which assists the person in properly loading and/or operatingthe vehicle. In particular, disclosed examples advantageously utilizemany types of known suspension architecture and/or hardware having RHLfunctionality to calculate and/or estimate vehicle weight, which reducescosts that are typically associated with additional hardware (e.g.,sensors, processing units, etc.) required by the above mentioned knownweight measuring systems.

Some disclosed examples provide an example vehicle controller (e.g., anelectronic control unit (ECU)) communicatively and/or operativelycoupled to an example suspension system having RHL functionality suchas, for example, one or more of an active suspension system, an airsuspension system, etc. In particular, the controller directs one ormore motors of the suspension system to increase or decrease a rideheight of the vehicle by raising or lowering a vehicle mass (e.g., asprung mass including a payload). As the ride height is adjusted, thecontroller measures and/or detects, via a sensor, one or more parametersor data of the suspension system such as, for example, one or more ofthe ride height, input (e.g., a current, voltage, power, etc.) providedto the motor(s), and/or output (e.g., a torque, a force, etc.) providedfrom the motor(s). Such suspension data or parameters are related toand/or indicate a motor force and/or a motor torque that is sufficientto move the vehicle between different ride heights and, in turn,indicate the vehicle weight. Thus, disclosed examples determine vehicleweight based on operation of one or more suspension motors.

As discussed in greater detail below, to facilitate vehicle weightcalculations, disclosed examples analyze different parameters and/orcharacteristics of the suspension system. In particular, the controllercompares suspension data corresponding to the vehicle being at leastpartially loaded (e.g., via cargo, equipment, goods, etc.) withsuspension data corresponding to the vehicle being unloaded, which canindicate a weight corresponding to one or more of cargo, equipment,goods, etc. carried by the vehicle.

Some disclosed examples analyze one or more data relationships orfunctions that may be represented as plots, maps, tables, etc. thatis/are based on the obtained sensor data to aid in determining thevehicle weight. In such examples, the disclosed controller calculatesand/or determines the vehicle weight based on one or more of shapes,inflections, transition points, minima, maxima, slopes, etc. associatedwith the data relationships. In particular, some disclosed examplescalculate and/or determine the vehicle weight based on an offset betweendata sets, where each data set corresponds to, for example, a respectivefunction or data plot. For example, the disclosed controller translatesand/or converts a value of the offset to a value of the vehicle weightbased on one or more equations, models, algorithms, and/or methods ortechniques that, in some examples, is/are specific to a type of thevehicle.

Some disclosed examples generate alerts (e.g., sounds, messages, etc.)and provide the alerts to the person when the vehicle is loaded beyond aweight limit or carrying capacity thereof. Such examples deter theperson from improperly loading the vehicle and/or operating animproperly loaded vehicle, which reduces the possibility of degradationof components of the vehicle and/or incurring costs from fees and/ortickets.

FIG. 1A is a view of an example vehicle (e.g., a van, a truck, a sportutility vehicle (SUV), etc.) 100 in which examples disclosed may beimplemented. The vehicle 100 of FIG. 1A includes an example suspensionsystem 102, an example vehicle controller 104, and one or more examplesensors 106.

As will be discussed in greater detail below in connection with FIGS.1B, 1C 2-9, the controller 104 of the illustrated example communicateswith and/or controls the suspension system 102 to change a height 108(sometimes referred to as a ride height) of the vehicle 100 and, inresponse, determines a weight of the vehicle 100. Stated differently,the controller 104 utilizes the suspension system 102 to raise or lowera mass (e.g., a sprung mass) of the vehicle 100. The height 108 of theillustrated example is a distance between a driving surface (e.g.,concrete, asphalt, dirt, etc.) 110 and a bottom (in the orientation ofFIG. 1A) portion 112 of the vehicle 100 such as, for example, thechassis. In other examples, the ride height 108 corresponds to adifferent distance that is associated with one or more components of thevehicle 100 and/or the surface 110. In some examples, the ride height108 corresponds to a position of a motor and/or an actuator of thevehicle 100.

The controller 104 of FIG. 1 enables one or more actuators (e.g., one ormore linear actuators, one or more rotary actuators, one or morepneumatic actuators, etc.) 126, 134 (shown in FIGS. 1B and 1C) of thesuspension system 102 to change the height 108 for at least a portion ofthe vehicle 100. In particular, the controller 104 directs one or moremotors 124, 130, 202 operatively coupled to the suspension system 102,as discussed further below. In some examples, the controller 104provides height adjustments based on feedback data received from thesensor(s) 106 corresponding to the ride height 108 at different areas(e.g., at each corner of the vehicle 100) of the bottom portion 112. Inthis manner, the controller 104 improves vehicle handling and/ormaneuverability by maintaining a substantially uniform height 108 alongthe bottom portion 112 of the vehicle 100.

The suspension system 102 of FIG. 1 is operatively coupled to thevehicle 100 to enable ride height adjustments for the vehicle 100. Insome examples, the suspension system 102 of FIG. 1A is implemented as anactive suspension system or semi-active suspension system such that oneor more linear and/or rotary actuators 126 is/are advantageously used toadjust the height 108. In other examples, the suspension system 102 ofFIG. 1A is implemented differently. For example, the suspension system102 can be implemented as an air suspension system such that a fluid(e.g., compressed air) is advantageously used to control the height 108via one or more pneumatic actuators 134.

In some examples, the height 108 corresponds to one or more wheels 114,116, 118, 120 of the vehicle 100, four of which are shown in thisexample. That is, in some examples, each wheel 114, 116, 118, 120 has aride height 108 proximate thereto. As such, in some examples, the rideheights 108 of the wheels 114, 116, 118, 120 can be the same ordifferent relative to each other.

The controller 104 of FIG. 1A is communicatively coupled to the vehicle100, the sensor(s) 106, and the suspensions system 102, for example, viaone or more signal transmission wires or busses, radio frequency,wireless transmissions, etc. In some examples, the controller 104 isimplemented using one or more electronic control units (ECUs).

To measure and/or detect one or more parameters associated with thevehicle 100 and/or the suspension system 102, the sensor(s) 106 of FIG.1A can include, but is/are not limited to, a ride height sensor, acurrent sensor, a voltage sensor, a torque sensor, a force sensor orload cell, and/or a position sensor (e.g., a rotational position sensorand/or a linear position sensor). In some examples, the controller 104measures and/or detects the height(s) 108 via the sensor(s) 106. In someexamples, the controller 104 measures and/or detects one or more ofelectrical current, voltage, and/or power used by the suspension system102 (e.g., as a result of changing the height 108). In some examples,the controller 104 measures and/or detects a motor torque and/or a motorforce generated by the suspension system 102 and imparted on the vehicle100.

FIG. 1B is a block diagram showing an example first configuration 122 ofsuspension components in accordance with examples disclosed herein. Insome examples, the first configuration 122 of FIG. 1B is used toimplement the suspension system 102 of FIG. 1A.

In the example of FIG. 1B, the one or more motors (e.g., electricmotors) 124 are operatively coupled to the one or more actuators 126 toprovide a torque and/or a force thereto. In some examples, the actuators126 are operatively coupled to one or more components of the suspensionsystem 102 such as, for example, an example shock absorber assembly 200(shown in FIGS. 2 and 3). In such examples, the controller 104 controlsthe motor(s) 124 to move or change a position of the actuator(s) 126,thereby changing the ride height 108.

FIG. 1C is a block diagram showing an example second configuration 128of suspension components in accordance with examples disclosed herein.In some examples, the second configuration 128 of FIG. 1C is used toimplement the suspension system 102 of FIG. 1A.

In the example of FIG. 1C, the one or more motors (e.g., electricmotors) 130 are operatively coupled to one or more pumps or compressors132 to compress a fluid (e.g., air). In particular, in such examples,the controller 104 of FIG. 1 enables the pumps 132 to increase ordecrease a fluid pressure in one or more suspension airbags 134 coupledbetween components of the suspension system 102 and/or the vehicle 100such that the airbag(s) 134 expand or contract, thereby changing theride height 108. In some examples, the vehicle 100 is implemented withmultiple suspension airbags 134 to enable ride height adjustments forareas of the bottom portion 112 that are proximate to each of the wheels114, 116, 118, 120.

In some examples, the pump(s) 132 and the airbag(s) 134 are fluidlycoupled together, for example, via one or more example fluid lines 136.In some examples, to facilitate control of fluid pressure in asuspension airbag 134, one or more fluid valves 138 are fluidly coupledbetween the suspension airbag(s) 134 and the pump(s) 132 via the fluidline(s) 136.

In some examples, to facilitate maintaining a sufficient fluid pressurein the suspension airbag(s) 134, a fluid reservoir 140 is fluidlycoupled between the suspension airbag(s) 134 and the pump(s) 132 via thefluid line(s) 136. In some such examples, a single motor 130 and singlepump 132 enable adjustments of the vehicle ride height 108. Further, insuch examples, the controller 104 is communicatively and/or operativelycoupled to the valve(s) 138 to control a position thereof.

FIGS. 2 and 3 are detailed partial views of the example shock absorberassembly 200 showing the example motor (e.g., an electric motor) 202 inaccordance with examples disclosed herein. In some examples, the shockabsorber assembly 200 of FIGS. 2 and 3 is used to implement theaforementioned suspension system 102 disclosed in connection with FIG.1A. In such examples, the suspension system 102 includes one or moreshock absorber assemblies 200 to improve ride comfort and/or improvehandling of the vehicle 100. For example, the vehicle 100 can beimplemented with a shock absorber assembly 200 disposed proximate to oneor more (e.g., each) of the wheels 114, 116, 118, 120.

According to the illustrated example of FIG. 2, the motor 202 isoperatively coupled to the shock absorber assembly 200 to change theride height 108 of the vehicle 100, for example, in response toreceiving power and/or a command or control signal from the controller104. In particular, the motor 202 generates a force and/or a torque andimparts the force and/or the torque on one or more components of thesuspension system 102 and/or the vehicle 100. In the example of FIG. 2,the motor 202 enables a first seat 204 (sometimes referred to as aspring seat) to move (e.g., rotate and translate), thereby compressingor decompressing a spring (e.g., a coil spring) 208 that is interposedbetween and/or engaged with the first seat 204 and a second seat 205.

In some examples, as the spring 208 compresses and/or the first seat 204moves in a first direction 210, the ride height 108 of the vehicle 100increases. Conversely, in some examples, as the spring 208 decompressesand/or the first seat 204 moves in a second direction 212 opposite thefirst direction 210, the ride height 108 decreases.

In some examples, the second seat 205 is coupled to the bottom portion112 of the vehicle 100 such as a portion of the vehicle chassis. Inother examples, the second seat 205 is coupled to a portion of thesuspension system 102 proximate an end 213 of the shock absorberassembly 200 that is associated with movement of one of the wheels 114,116, 118, 120.

In the example of FIG. 2, the motor 202 is operatively coupled to thefirst seat 204. In particular, the motor 202 controls a position of thefirst seat 204 along an axis 216 of the shock absorber assembly 200. Forexample, the motor 202 generates a torque and imparts the torque on thefirst seat 204, thereby moving the first seat 204 and/or the motor 202in the first direction 210 or the second direction 212. As a result, thefirst seat 204 and/or the motor 202 move between different positionswithin a movement range or distance 232. As shown in FIG. 2, the motor202 and the first seat 204 are in a first position.

The first seat 204 of FIG. 2 is adjustably coupled (e.g., via threads230 in this example) to the shock absorber assembly 200 such that thefirst seat 204 can move in the first direction 210 or the seconddirection 212 along the axis 216 in response to output from the motor202. In some examples, the first seat 204 is adjustably coupled to acylinder (e.g., a fluid damper tube) 224, which is sometimes referred toas a shock body. For example, the first seat 204 is threaded onto anouter surface 226 of the cylinder 224 such that the first seat 204 movesin the direction(s) 210, 212 by rotating relative to the cylinder 224.As shown in FIG. 2, an inner diameter 227 (represented by the verticaldotted/dashed lines) of the first seat 204 includes threads 228(represented by the angled dotted/dashed lines) that engage the threads230 disposed on the outer surface 226 of the cylinder 224.

In the example of FIG. 2, an example gear train or box 234 isoperatively coupled between the motor 202 and the first seat 204 tofacilitate mechanical power transfer therebetween. In some examples, thegear train 234 receives a first torque from the motor 202 and, inresponse, imparts a second torque on an outer surface (e.g., a threadedsurface) of the first seat 204. In some such examples, the gear train234 is implemented as a torque multiplier such that the second torque isgreater than the first torque.

In some examples, the motor 202 and the gear box 234 move in thedirection(s) 210, 212 without rotating relative to the cylinder 224. Forexample, a portion of the motor 202, the gear box 234, and/or acomponent associated therewith (e.g., a housing) is slidably coupled thecylinder 224 to maintain an orientation of the motor 202 and the gearbox 234 during ride height adjustments.

As shown in the illustrated example of FIG. 3, the motor 202 enables thefirst seat 204 to move relative to the cylinder 224 in the firstdirection 210 from the first position (as shown in FIG. 2) to a secondposition (as shown in FIG. 3), thereby compressing the spring 208 and,as a result, increasing the ride height 108 of the vehicle 100 in thisexample. As such, the first seat 204 travels a first distance 300 fromthe first position to the second position.

FIG. 4 is a block diagram of an example weight determination system 400in accordance with the teachings of this disclosure. In some examples,the weight determination system 400 of FIG. 4 is implemented by thecontroller 104 of FIG. 1A. The example weight determination system 400of FIG. 4 includes a motor interface 402, a sensor interface 404, adatabase 406, a data analyzer 408, and a weight determiner 410. In theexample of FIG. 4, the vehicle weight determination system 400 iscommunicatively coupled to the suspension system 102 of FIG. 1A, one ormore of the motor(s) 124, 130, 202, the sensor(s) 106 of FIG. 1A and oneor more example output devices (e.g., display devices, speakers, etc.)412 via one or more communication links 414 such as, for example, one ormore signal transmission wires or busses, radio frequency, etc. Inparticular, the example motor interface 402 provides control or commandsignals and/or power to the motor(s) 124, 130, 202 of the suspensionsystem 102 to increase or decrease the ride height 108 of the vehicle100. Similarly, in some examples, the weight determination system 400provides control or command signals and/or power to the output device(s)412 to generate information and/or inform a driver of vehicle weight.

To facilitate determining a weight (e.g., a total weight, a weight at avehicle corner, etc.) of the vehicle 100, the weight determinationsystem 400 directs the motor(s) 124, 130, 202 to control the suspensionsystem 102. In particular, before, during, and/or after a vehicleloading event, the weight determination system 400 enables adjustmentsof the ride height 108, for example, to maintain a substantially uniformride height 108 across the bottom portion 112 of the vehicle 100. Moreparticularly, as the ride height 108 is adjusted, the weightdetermination system 400 measures and/or detects one or more parametersand/or characteristics associated with the suspension system 102 and/orthe vehicle 100 such as, for example, one or more of the height 108, amotor output (e.g., a torque and/or a force generated by the motor(s)124, 130, 202), and/or a motor input (e.g., electrical current providedto the motor(s) 124, 130, 202 by the motor interface 402, a voltageprovided to the motor(s) 124, 130, 202 by the motor interface 402,and/or power provided to the motor(s) 124, 130, 202 by the motorinterface 402).

In the example of FIG. 4, the example weight determiner 410 performs oneor more calculations associated with determining a weight of the vehicle100, for example, via one or more equations, models, algorithms and/ormethods or techniques related to calculating a weight or load based onmotor parameters. In some examples, the weight determiner 410 calculatesand/or determines the weight based on one or more of current, voltage,and/or power of the motor(s) 124, 130, 202. For example, when adjustingthe ride height 108 of the vehicle 100, each of the current, thevoltage, and/or the power used by the motor 202 correlates with and/oris proportional to a torque or force that is sufficient to move thevehicle 100 between different ride heights. Similarly, in some examples,torque applied to the actuator 214 (e.g., imparted on a ball screw 220),as measured by the sensor(s) 106, correlates with and/or is proportionalto weight imparted on the suspension system 102. As such, in someexamples, the weight determiner 410 converts and/or translates motorinput(s) and/or a motor output(s) to a value of the weight of thevehicle 100. For example, the database 406 may store a table ofproperties associated with a first type of vehicle. In such an example,the table may include properties such as current, voltage, and/or powerof the motor(s) 124, 130, 202 that correlate with and/or areproportional to a torque or force that is sufficient to move the firsttype of vehicle between different ride heights. Further, such an exampletable may include a weight associated with the torque or force requiredto adjust the first type of vehicle to a particular ride height. Forexample, the table for the first type of vehicle may have a propertythat indicates 365 Nm of torque correlates to a change in ride height of16 mm that corresponds to a total vehicle weight of 1515 kg. As such,the total vehicle weight can be determined based on a current or voltageapplied to the motor(s) 124, 130, 202.

In some examples, the weight determiner 410 calculates and/or determinesa weight of the vehicle 100 based on multiple weights (e.g., determinedby the weight determiner 410). For example, the weight determiner 410calculates and/or determines an average vehicle weight (e.g., anarithmetic mean) based on a weight corresponding to each corner of thevehicle 100. In some examples, the weight determiner 410 calculatesand/or determines a vehicle weight that corresponds to a single cornerof the vehicle 100.

In some examples, the data analyzer 408 calculates and/or determines oneor more characteristics of the suspension system 102 based on sensordata to aid in vehicle weight calculations. In particular, the dataanalyzer 408 generates relationships between parameters of thesuspensions system 102 that can be represented as plots, tables, maps,etc. as is disclosed in greater detail below in connection with FIG. 5.For example, the data analyzer 408 determines a relationship betweenchanges in the ride height 108 and changes in motor output(s) and/ormotor input(s).

In some such examples, the data analyzer 408 calculates and/ordetermines one or more parameters and/or characteristics of the datarelationships such as a function shape, a slope, an inflection, aminimum, a maximum, a transition point, an integral, a derivative, etc.In some such examples, the data analyzer 408 calculates and/ordetermines one or more differences between the data relationshipparameter(s) and/or characteristic(s) such as, for example, one or moreoffsets between slopes and/or shapes of respective data relationships.

In some examples, the data analyzer 408 generates and/or defines one ormore relationships (e.g., empirical relationships) between measuredsuspension data and vehicle weight based on a type of the vehicle 100.For example, the data analyzer 408 generates a look-up table thatcorrelates an offset to a weight of the vehicle 100. As such, in someexamples, one or more of the equations, the models, the algorithms,and/or the methods or the techniques utilized by disclosed examples arespecific to the vehicle 100. In other examples, one or more of theequations, the models, the algorithms, and/or the methods or thetechniques to calculate and/or determine vehicle weight change toaccount for different vehicle types.

In some examples, after determining a weight of the vehicle 100, theweight determination system 400 generates visual and/or audibleinformation (e.g., one or more alerts) via the output device(s) 412based on the weight to inform a person (e.g., a driver, a passenger,vehicle service personnel, etc.) of a status of the vehicle 100. Forexample, the person views images via a display and/or listens to soundsvia a speaker to identify when the vehicle 100 is properly loaded,improperly loaded (e.g., overloaded), and/or a degree to which thevehicle 100 is loaded. In such examples, to determine the status(es) ofthe vehicle 100, the data analyzer 408 compares the weight of thevehicle 100 to a threshold weight (e.g., stored in the database 406)that is based on a weight limit or capacity of the vehicle 100, whichmay be provided by a manufacturer of the vehicle 100.

To determine whether to generate an alert, the data analyzer 408analyzes data received from one or more of the sensor interface 404, thedatabase 406, and/or the data analyzer 408. In particular, the dataanalyzer 408 performs one or more comparisons of a vehicle weight to oneor more thresholds (e.g., calculated and/or determined via the dataanalyzer 408), for example, to determine whether an example threshold issatisfied, whether a threshold is exceeded, a degree to which athreshold is exceeded, etc. As such, in some examples, the data analyzer408 may transmit (e.g., via the wired and/or wireless communicationlink(s) 414) computed data to the output device(s) 412 and/or thedatabase 406.

In some examples, the data analyzer 408 calculates a threshold weightbased on a capacity or weight limit (e.g., a front axle weight limit, arear axle weight limit, a gross vehicle weight limit, etc.) associatedwith the vehicle 100. In such examples, an example threshold weightcorresponds to one or more proportions (e.g., 80%, 90%, 100%, etc.) ofthe weight limit. The weight capacity of the vehicle 100 may be storedin the database 406 and/or provided to the example weight determinationsystem 400 by a user, for example, via an electronic or mobile devicecommunicatively coupled to the weight determination system 400, anelectronic device disposed in the vehicle 100, etc.

In the illustrated example of FIG. 4, the sensor interface 404 iscommunicatively coupled to the example sensor(s) 106 via thecommunication link(s) 414 to receive data therefrom. In some examples,the sensor(s) 106 generate data corresponding to the ride height 108 andprovide the data to the sensor interface 404. In some examples, thesensor(s) 106 generate data corresponding to a torque, a force or load,an electrical current, a voltage, and/or a power and provide the data tothe sensor interface 404.

The database 406 of the illustrated example stores and/or providesaccess to data associated with one or more of the vehicle 100 of FIG.1A, the suspension system 102 of FIG. 1A, the shock absorber assembly200 of FIG. 2, and/or the weight determination system 400. For example,the database 406 receives data from and/or transmits data to (e.g., viathe wired and/or wireless communication link(s) 414) one or more of themotor interface 402, the sensor interface 404, the data analyzer 408,the load analyzer 310, and/or the weight determiner 410. Additionally,the database 406 stores sensor data generated by the sensor(s) 106.

In some examples, the database 406 stores one or more predeterminedparameters and/or characteristics associated with the vehicle 100 and/orthe suspension system 102. For example, the database 406 stores one ormore data relationships that may be represented as one or more plots,tables, maps, etc. representing relationships (e.g., motor input(s)and/or output(s) relative to the height 108) that characterize behaviorof the suspension system 102. In some such examples, the database 406stores one or more trends (e.g., determined by the data analyzer 408)associated with actuation of the actuators 126, 134, 214 and/or changesin the ride height 108, as discussed further below in connection withFIG. 5.

In some examples, the database 406 stores one or more springcharacteristics (e.g., a spring rate of the spring 208). In someexamples, the database 406 stores one or more equations, models,algorithms and/or methods or techniques related to calculating a weightor load based on one or more parameters and/or characteristics of thesuspension system 102.

While an example manner of implementing the example weight determinationsystem 400 is illustrated in FIG. 4, one or more of the elements,processes and/or devices illustrated in FIG. 4 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example motor interface 402, the example sensor interface404, the example database 406, the example data analyzer 408, theexample weight determiner 410 and/or, more generally, the example weightdetermination system 400 of FIG. 4 may be implemented by hardware,software, firmware and/or any combination of hardware, software and/orfirmware. Thus, for example, any of the example motor interface 402, theexample sensor interface 404, the example database 406, the example dataanalyzer 408, the example weight determiner 410 and/or, more generally,the example weight determination system 400 of FIG. 4 could beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), programmable controller(s), graphicsprocessing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)),application specific integrated circuit(s) (ASIC(s)), programmable logicdevice(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)).When reading any of the apparatus or system claims of this patent tocover a purely software and/or firmware implementation, at least one ofthe example motor interface 402, the example sensor interface 404, theexample database 406, the example data analyzer 408, the example weightdeterminer 410 and/or, more generally, the example weight determinationsystem 400 of FIG. 4 is/are hereby expressly defined to include anon-transitory computer readable storage device or storage disk such asa memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-raydisk, etc. including the software and/or firmware. Further still, theexample weight determination system 400 of FIG. 4 may include one ormore elements, processes and/or devices in addition to, or instead of,those illustrated in FIG. 4, and/or may include more than one of any orall of the illustrated elements, processes and devices. As used herein,the phrase “in communication,” including variations thereof, encompassesdirect communication and/or indirect communication through one or moreintermediary components, and does not require direct physical (e.g.,wired) communication and/or constant communication, but ratheradditionally includes selective communication at periodic intervals,scheduled intervals, aperiodic intervals, and/or one-time events.

FIG. 5 is a graph 500 illustrating example data (e.g., stored in thedatabase 406) associated with examples disclosed herein. The graph 500includes a horizontal axis 502 that, in some examples, corresponds toone or more of position data, distance data, and/or relativedisplacement data associated with the vehicle 100 and/or the suspensionsystem 102. As shown in FIG. 5, the horizontal axis 502 represents theride height 108 (as represented in millimeters) measured by thesensor(s) 106. In some examples, the horizontal axis 502 represents theaforementioned position(s) and/or the displacement 300 of the first seat204 measured by the sensor(s) 106. In the illustrated example of FIG. 5,the horizontal axis 502 starts at zero. However, the horizontal axis 502may start at any value because the starting value of the horizontal axis502 indicates that the vehicle is at rest (e.g., is not currentlyadjusting ride height).

According to the illustrated example, the graph 500 also includes avertical axis 504 that corresponds to one or more of input data and/oroutput data associated with the suspension system 102. In some examples,the vertical axis 504 represents a motor parameter such as, for example,one or more of current, voltage, power, torque, or force. As shown inFIG. 5, the vertical axis 504 represents electrical current (asrepresented in amperes) provided to and/or consumed by one or more ofthe motors of the suspension system 102 (e.g., one or more of the motors124, 130, 202).

According to the illustrated example, a first example plot 506 (asrepresented by the solid line in FIG. 5) and a second example plot 508(as represented by the dotted/dashed line in FIG. 5) characterizeadjustments and/or movement of the suspension system 102 that increasethe ride height 108 of the vehicle 100. Therefore, movement along thefirst and second plots 506, 508 is from left to right (in theorientation of FIG. 5) in this example. However, in other examples, thefirst plot 506 and/or the second plot 508 characterize adjustmentsand/or movement of the suspension system 102 that decrease the rideheight 108. In any case, the first plot 506 corresponds to sensor datareceived by the weight determination system 400 (e.g., via the sensorinterface 404) when the vehicle 100 is substantially unloaded (e.g., thevehicle 100 is not carrying cargo, equipment, goods, etc.). The secondplot 508 corresponds to sensor data received by the weight determinationsystem 400 when the vehicle 100 is at least partially loaded. That is,the second plot 508 represents the vehicle 100 having a greater loadthan the first plot 506. As such, in some examples, the first plot 506represents the vehicle 100 carrying at least some cargo, equipment,goods, etc. In some examples, the data associated with the first andsecond plots 506, 508 is stored in the database 406. The first andsecond plots 506, 508 of FIG. 5 are indicative of forces and/or torquesgenerated by the suspension system 102 that cause the bottom portion 112of the vehicle 100 to move relative to the driving surface 110. As such,the weight determination system analyzes at least some of the dataforming the plots 506, 508 to calculate one or more weights of thevehicle 100, for example, via the data analyzer 408 and/or the weightdeterminer 410. While the example of FIG. 5 is described in terms of aplot, any type of data relationship such as a plot, map, table, etc. maybe utilized to determine vehicle weight.

In some examples, the weight determination system 400 calculates and/ordetermines one or more differences between the plots 506, 508 tofacilitate weight calculations. For example, the weight determinationsystem 400 calculates and/or determines a first parameter 510 based onthe first plot 506 and a second parameter 512 based on the second plot508. In particular, in this example, the first parameter 510 and thesecond parameter 512 correspond to the same magnitude of ride height(e.g., about 16 millimeters in this example) and different motorcurrents (e.g., the first parameter 510 corresponds to about 47 amperesand the second parameter 512 corresponds to about 52 amperes).

Such motor parameters are related and/or proportional to a torque and/ora force sufficient to change the height 108 of the vehicle 100 by acertain distance. In some examples, based on the first parameter 510,the weight determiner 410 calculates and/or determines a first weight ofthe vehicle 100 corresponding to the vehicle 100 being unloaded.Similarly, based on the second parameter 512, the weight determiner 410calculates and/or determines a second weight of the vehicle 100,different from the first weight, corresponding to the vehicle 100 beingloaded. Accordingly, in such examples, the weight determiner 410calculates and/or determines a third weight of the vehicle 100 based onthe first and second parameters 510, 512 that, in some examples,corresponds to one or more of cargo, equipment, goods, etc. carried bythe vehicle 100.

As shown in FIG. 5, the plots 506, 508 include example transition points514, 516, 518, 520, for example, resulting from the motor 202controlling the actuator 214, which can facilitate vehicle weightcalculations. In particular, each transition point 514, 516, 518, 520defines and/or indicates changes in characteristics of a respective plot506, 508, for example, caused by frictional forces between components ofthe suspension system 102, spring properties, mass of unsprung weight,etc. In some examples, the weight determination system 400 calculatesand/or determines (e.g., via the data analyzer 408) one or more of thetransition points 514, 516, 518, 520 for the first plot 506 and/or thesecond plot 508.

As shown in FIG. 5, a first or intermediate portion 522 of the firstplot 506 is defined between the first transition point 514 and thesecond transition point 516 and has a parameter and/or a characteristicassociated therewith. In particular, the first portion 522 of the firstplot 506 has a substantially constant slope 524 (e.g., calculated and/ordetermined by the data analyzer 408) along the length of the firstportion 522, which is related to a spring rate of the spring 208 in someexamples. Similarly, in the example of FIG. 5, a second or intermediateportion 526 of the second plot 508 is defined between the thirdtransition point 518 and the fourth transition point 520 and has anotherparameter and/or characteristic associated therewith (e.g., asubstantially constant slope 528 along the length of the second plot508), which is also related to the spring rate of the spring 208 in someexamples.

In some examples, the weight determination system 400 calculates and/ordetermines an offset 530 between portions of the respective plots 506,508, which facilitates weight calculations. In some examples, the offset530 is based on matching or similar slopes 524, 528. In some examples,the offset 530 is based on different motor parameters 510, 512corresponding to the same ride height 108 of the vehicle 100. In suchexamples, the weight determination system 400 translates and/or convertsa value of the offset 530 to a vehicle weight.

In some examples, the parameters and/or characteristics of thesuspension data depicted in connection with FIG. 5 are specific to atype of vehicle. For example, the weight determination system 400generates a look-up table defining a unique relationship between weightof the vehicle 100 and one or more of the parameters 510, 512, 514, 516,518, 520, 522, 524, 526, 528 such as, for example, the offset 530. Forexample, the weight determination system 400 generates a look-up tabledefining a relationship between spring rate (corresponding to slopes524, 528), current, change in ride height, and vehicle load for aspecific vehicle type. In such an example, the weight determinationsystem 400 determines a current required to move the vehicle 16 mm in anunloaded state (represented by plot 506). The weight determinationsystem 400 knows the vehicle weight in an unloaded state based on ameasured vehicle weight during manufacture, for example. In someexamples, during manufacture, different loads may be applied to thevehicle, and subsequent current measurements may be taken while raisingthe vehicle a certain height. For example, the vehicle may be subjectedto 10 lb. incremented loads up to 100 lbs. (e.g., first load at 10 lbs.,second load at 20 lbs., etc.) while adjusting the ride height 16 mm. Assuch, the weight determination system 400 generates the look up tablebased on these different currents at different loads, for example. Thatis, the weight determination system 400 can map a current to anestimated load carried by the vehicle. In some examples, the weightdetermination system 400 generates a look up table that maps the offsetbetween currents when the vehicle is in an unloaded state and a loadedstate. For example, the weight determination system 400 may map anoffset (e.g., the offset 530) of a current required to move a loadedvehicle a certain distance to the current required to move the unloadedvehicle the same distance. As such, the weight determination system 400may determine vehicle weight based on the offset 530, for example.

In the example of FIG. 5, to the left (in the orientation of FIG. 5) ofthe first transition point 514 of the first plot 506 and/or the thirdtransition point 518 of the second plot 508, characteristic behavior ofthe suspension system 102 changes (e.g., resulting from frictionalforces, motor properties, spring properties, etc.). As such, the firstand third transition points 514, 518 define respective portions 532, 534of the first and second plots 506, 508 that are different from theintermediate portions 522, 526. Similarly, in the example of FIG. 5, tothe right (in the orientation of FIG. 5) of the second transition point516 of the first plot 506 and/or the fourth transition point 520 of thesecond plot 508, characteristic behavior of the suspension system 102changes. As such, the second and fourth transition points 516, 520defines respective portions 536, 538 of the first and second plots 506,508 that are different from the other portions 522, 526, 532, 534.

In some examples, the first and second plots 506, 508 are shapeddifferently from the plot shapes depicted in FIG. 5. In examples wherethe suspension system 102 is an air suspension system, one or moreportions of the plots 506, 508 are substantially curved. In particular,in such examples, the weight determination system 400 calculates and/ordetermines a weight of the vehicle 100 based on one or more parameters(e.g., a degree of curvature) of the curved portions of the respectiveplots 506, 508 such as, for example, an offset between the curvedportions.

In some examples, one or more of the portions 522, 526, 532, 534, 536,538 of the plots 506, 508 and/or one or more of data points, shapes,inflections, minima, maxima, changes in slope, etc. thereof areadvantageously used by disclosed examples to determine a weight of thevehicle 100. Further, some disclosed examples utilize any otherappropriate graph characteristics, mathematical relationships, and/orplot shape characteristics in addition or alternatively to thosedepicted in connection with FIG. 5.

The example values and/or more generally, the example data depicted inconnection with FIG. 5 is/are for illustrative purposes and, in otherexamples, other example values and/or data may apply.

Flowcharts representative of example hardware logic or machine readableinstructions for implementing the example weight determination system400 are shown in FIGS. 6-8. The machine readable instructions may be aprogram or portion of a program for execution by a processor such as theprocessor 912 shown in the example processor platform 900 discussedbelow in connection with FIG. 9. The program may be embodied in softwarestored on a non-transitory computer readable storage medium such as aCD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk, or a memoryassociated with the processor 812, but the entire program and/or partsthereof could alternatively be executed by a device other than theprocessor 812 and/or embodied in firmware or dedicated hardware.Further, although the example program is described with reference to theflowchart illustrated in FIGS. 6-8, many other methods of implementingthe example weight determination system 400 may alternatively be used.For example, the order of execution of the blocks may be changed, and/orsome of the blocks described may be changed, eliminated, or combined.Additionally or alternatively, any or all of the blocks may beimplemented by one or more hardware circuits (e.g., discrete and/orintegrated analog and/or digital circuitry, an FPGA, an ASIC, acomparator, an operational-amplifier (op-amp), a logic circuit, etc.)structured to perform the corresponding operation without executingsoftware or firmware.

As mentioned above, the example processes of FIGS. 6-8 may beimplemented using executable instructions (e.g., computer and/or machinereadable instructions) stored on a non-transitory computer and/ormachine readable medium such as a hard disk drive, a flash memory, aread-only memory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media.

“Including” and “comprising” (and all forms and tenses thereof) are usedherein to be open ended terms. Thus, whenever a claim employs any formof “include” or “comprise” (e.g., comprises, includes, comprising,including, having, etc.) as a preamble or within a claim recitation ofany kind, it is to be understood that additional elements, terms, etc.may be present without falling outside the scope of the correspondingclaim or recitation. As used herein, when the phrase “at least” is usedas the transition term in, for example, a preamble of a claim, it isopen-ended in the same manner as the term “comprising” and “including”are open ended. The term “and/or” when used, for example, in a form suchas A, B, and/or C refers to any combination or subset of A, B, C such as(1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, and(6) B with C.

FIG. 6 is a flowchart of an example method 600 that can be executed toimplement the example weight determination system 400 of FIG. 4. Theexample method 600 of FIG. 6 can be implemented in any of the examplevehicle 100 of FIG. 1A, the example suspension system 102 of FIG. 1 A,the example controller 104 of FIG. 1A, the example shock absorberassembly 200 of FIGS. 2 and 3, and/or the example weight determinationsystem 400 of FIG. 4.

The example method 600 begins by determining a first parameterassociated with a suspension system when a vehicle is unloaded (block602). In some examples, the weight determination system 400 of FIG. 4determines (e.g., via the data analyzer 408 and/or the weight determiner410) a first parameter associated with the suspension system 102 basedon data received from the sensor(s) 106 such as, for example, one ormore of the example parameters 510, 514, 516, 522, 524, 532, 536associated with the first plot 506 depicted in connection with FIG. 5.

The example method 600 also includes determining a second parameterassociated with the suspension system when the vehicle is loaded (block604). In some examples, the weight determination system 400 of FIG. 4determines a second parameter associated with the suspension system 102based on data received from the sensor(s) 106 such as, for example, oneor more of the example parameters 512, 518, 520, 526, 528, 534, 538associated with the second plot 508 depicted in connection with FIG. 5.

The example method 600 also includes performing a comparison of theparameters (block 605). In some examples, the weight determinationsystem 400 of FIG. 4 compares one or more of the parameters 510, 514,516, 522, 524, 532, 536 associated with the first plot 506 to one ormore of the parameters 512, 518, 520, 526, 528, 534, 538 associated withthe second plot 508. In some examples, the weight determination system400 determines one or more differences between the parameters 510, 512,514, 516, 518, 520, 522, 524, 526, 528 and/or the plots 506, 508 suchas, for example, the example offset 530.

The example method 600 also includes calculating a weight of the vehiclebased on the comparison (block 606). In some examples, the weightdetermination system 400 of FIG. 4 calculates and/or determines a weightof the vehicle 100 based on the comparison at block 605, which cancorrespond to cargo, equipment, goods, etc. carried by the vehicle 100.For example, the weight determination system 400 may access a table forthe vehicle 100 that identifies a torque value associated with a changein ride height that corresponds to a total weight of the vehicle 100.

The example method 600 also includes informing a driver of the weight(block 608). In some examples, the weight determination system 400 ofFIG. 4 communicates with and/or controls the output devices 412 toinform a person (e.g., a driver, a passenger, etc.) of the weight of thevehicle 100. In some examples, the weight determination system 400generates messages and/or displays information for viewing by theperson.

The example method 600 also includes performing a comparison of theweight and a threshold weight (block 610). In some examples, the weightdetermination system 400 of FIG. 4 compares the weight of the vehicle100 to one or more threshold weights, which facilitates indications ofwhether the vehicle is properly loaded and/or a degree to which thevehicle 100 is loaded.

The example method 600 also includes determining whether the comparisonat block 610 indicates that the vehicle is properly loaded (block 612).In some examples, if the weight determination system 400 of FIG. 4determines that the vehicle is properly loaded (e.g., the vehicle 100 isloaded below the weight capacity thereof) (block 612: YES), control ofthe example method 600 proceeds to block 616. Otherwise, in someexamples, if the weight determination system 400 determines that thevehicle 100 improperly loaded (e.g., the vehicle 100 is loaded beyondthe weight capacity thereof) (block 612: NO), control of the examplemethod 600 proceeds to block 614.

The example method 600 also includes generating an alert for the driver(block 614). In some examples, the weight determination system 400 ofFIG. 4 controls the output device(s) 412 to generate one or more of anaudible and/or a visual alert. In some examples, the weightdetermination system 400 generates a sound via a speaker or transducer(e.g., a door chime). In some examples, the weight determination system400 generates visual information and/or messages via a display (e.g., ofa smartphone and/or electronic device disposed in the vehicle 100). Inthis manner, the weight determination system 400 prevents and/or detersthe person from operating the vehicle 100 when improperly loaded, whichimproves vehicle handling and/or reduces risk of the vehicle 100receiving fees and/or tickets for operating improperly.

The example method 600 also includes determining whether to monitor thevehicle (block 616). In some examples, if the weight determinationsystem 400 of FIG. 4 determines that the vehicle 100 is being used(e.g., loaded, operated, etc.) (block 616: YES), the example method 600returns to block 604. Otherwise, in some examples, if the weightdetermination system 400 determines that the vehicle 100 is not beingused (block 616: NO), the process ends.

FIG. 7 is a flowchart of an example method 602 that can be executed toimplement the weight determination system 400 of FIG. 4 to determine thefirst parameter associated with the suspension system when the vehicleis unloaded. In some examples, one or more operations of blocks 700,702, 704, 706, and/or 708 are used to implement block 602 of FIG. 6.

The example method 602 begins by determining whether the vehicle issubstantially unloaded (block 700). In some examples, if the weightdetermination system 400 of FIG. 4 determines that the vehicle 100 isloaded (block 700: NO), control of the example method 602 returns toblock 700. Stated differently, in some examples, the weightdetermination system 400 waits for the vehicle 100 to be unloaded. Assuch, when the weight determination system 400 determines that thevehicle 100 is unloaded (block 700: YES), control of the example method602 proceeds to block 702.

The example method 602 also includes controlling one or more motors toadjust a ride height of the vehicle (block 702). In some examples, theweight determination system 400 of FIG. 4 controls one or more of themotor(s) 124, 130, 202 of the suspension system 102, thereby changingthe ride height 108. For example, the weight determination system 400adjusts the ride height of the vehicle 100 in an unloaded state todetermine a baseline torque or force measurement associated withadjusting the vehicle 100 ride height by a certain distance (e.g., 16mm, 25 mm, 50 mm, etc.) that can be utilized to determine an offsetbetween a subsequent torque or force measurement associated withadjusting the vehicle 100 ride height in a partially loaded state.

The example method 602 also includes measuring the ride height (block704). In some examples, the weight determination system 400 of FIG. 4measures the ride height 108 of the vehicle 100 via the sensor(s) 106(e.g., see the example first plot 506 depicted in connection with FIG.5).

The example method 602 also includes measuring one or more of power,current, voltage, and/or an output of the motor(s) (block 706). In someexamples, the weight determination system 400 of FIG. 4 measures one ormore of power, current, voltage, and/or output of the motor(s) 124, 130,202 of the suspensions system 102 via the sensor(s) 106 (e.g., see thefirst plot 506).

The example method 602 also includes calculating the first parameterbased on one or more of the measurements at blocks 704 and 706 (block708). In some examples, the weight determination system 400 of FIG. 4calculates and/or determines the first parameter associated with thesuspension system 102 based on the ride height 108, the input of themotor(s) 124, 130, 202, and/or the output of the motor(s) 124, 130, 202(e.g., see one or more of the example parameters 510, 514, 516, 522,524, 532, 536 depicted in connection with FIG. 5).

In some examples, after calculating and/or determining the firstparameter at block 708, control of the example method 602 returns to acalling function such as the example method 600.

FIG. 8 is a flowchart of an example method 604 that can be executed toimplement the weight determination system 400 of FIG. 4 to determine thesecond parameter associated with the suspension system when the vehicleis loaded. In some examples, one or more operations of blocks 800, 802,804, 806, and/or 808 are used to implement block 604 of FIG. 6.

The example method 604 begins by determining whether the vehicle is atleast partially loaded (block 800). In some examples, if the weightdetermination system 400 of FIG. 4 determines that the vehicle 100 isunloaded (block 800: NO), control of the example method 602 returns toblock 800. Stated differently, in some examples, the weightdetermination system 400 waits for the vehicle 100 to be loaded. Assuch, when the weight determination system 400 determines that thevehicle 100 is loaded (block 800: YES), control of the example method602 proceeds to block 802.

The example method 604 also includes controlling one or more motors toadjust a ride height of the vehicle (block 802). In some examples, theweight determination system 400 of FIG. 4 controls the one or moremotor(s) 124, 130, 202 of the suspension system 102, thereby changingthe ride height 108. For example, the weight determination system 400adjusts the ride height a certain distance (e.g., 16 mm, 25 mm, 50 mm,etc.) similar to the distance utilized when adjusting the ride height inthe unloaded state of FIG. 7.

The example method 604 also includes measuring the ride height (block804). In some examples, the weight determination system 400 of FIG. 4measures the ride height 108 of the vehicle 100 via the sensor(s) 106(e.g., see the example second plot 508 depicted in connection with FIG.5).

The example method 604 also includes measuring one or more of power,current, voltage, and/or an output of the motor(s) (block 806). In someexamples, the weight determination system 400 of FIG. 4 measures one ormore of power, current, voltage, and/or output of the motor(s) 124, 130,202 of the suspensions system 102 via the sensor(s) 106 (e.g., see thesecond plot 508).

The example method 604 also includes calculating the second parameterbased on one or more of the measurements at blocks 804 and 806 (block808). In some examples, the weight determination system 400 of FIG. 4calculates and/or determines the second parameter associated with thesuspension system 102 based on the ride height 108, the input of themotor(s) 124, 130, 202, and/or the output of the motor(s) 124, 130, 202(e.g., see one or more of the example parameters 512, 518, 520, 526,528, 534, 538 depicted in connection with FIG. 5).

In some examples, after calculating and/or determining the secondparameter at block 808, control of the example method 604 returns to acalling function such as the example method 600.

FIG. 9 is a block diagram of an example processor platform 900structured to execute instructions to carry out the example methods 600,602, 604 of FIGS. 6-8 and/or, more generally, to implement the exampleweight determination system 400 of FIG. 4. The processor platform 900can be, for example, a server, a personal computer, a workstation, aself-learning machine (e.g., a neural network), a mobile device (e.g., acell phone, a smart phone, a tablet such as an iPad™), a personaldigital assistant (PDA), an Internet appliance, a DVD player, a CDplayer, a digital video recorder, a Blu-ray player, a gaming console, apersonal video recorder, a set top box, a headset or other wearabledevice, or any other type of computing device.

The processor platform 900 of the illustrated example includes aprocessor 912. The processor 912 of the illustrated example is hardware.For example, the processor 912 can be implemented by one or moreintegrated circuits, logic circuits, microprocessors, GPUs, DSPs, orcontrollers from any desired family or manufacturer. The hardwareprocessor may be a semiconductor based (e.g., silicon based) device. Inthis example, the processor implements the example motor interface 402,the example sensor interface 404, the example data analyzer 408, and theexample weight determiner 410.

The processor 912 of the illustrated example includes a local memory 913(e.g., a cache). The processor 912 of the illustrated example is incommunication with a main memory including a volatile memory 914 and anon-volatile memory 916 via a bus 918. The volatile memory 914 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory(RDRAM®) and/or any other type of random access memory device. Thenon-volatile memory 916 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 914, 916is controlled by a memory controller.

The processor platform 900 of the illustrated example also includes aninterface circuit 920. The interface circuit 920 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), a Bluetooth® interface, a near fieldcommunication (NFC) interface, and/or a PCI express interface.

In the illustrated example, one or more input devices 922 are connectedto the interface circuit 920. The input device(s) 922 permit(s) a userto enter data and/or commands into the processor 912. The inputdevice(s) can be implemented by, for example, an audio sensor, amicrophone, a camera (still or video), a keyboard, a button, a mouse, atouchscreen, a track-pad, a trackball, isopoint and/or a voicerecognition system.

One or more output devices 924 are also connected to the interfacecircuit 920 of the illustrated example. The output devices 924 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay (LCD), a cathode ray tube display (CRT), an in-place switching(IPS) display, a touchscreen, etc.), a tactile output device, a printerand/or speaker. The interface circuit 920 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chipand/or a graphics driver processor.

The interface circuit 920 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem, a residential gateway, a wireless access point, and/or a networkinterface to facilitate exchange of data with external machines (e.g.,computing devices of any kind) via a network 926. The communication canbe via, for example, an Ethernet connection, a digital subscriber line(DSL) connection, a telephone line connection, a coaxial cable system, asatellite system, a line-of-site wireless system, a cellular telephonesystem, etc.

The processor platform 900 of the illustrated example also includes oneor more mass storage devices 928 for storing software and/or data.Examples of such mass storage devices 928 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, redundantarray of independent disks (RAID) systems, and digital versatile disk(DVD) drives.

The machine executable instructions 932 of FIGS. 6-8 may be stored inthe mass storage device 928, in the volatile memory 914, in thenon-volatile memory 916, and/or on a removable non-transitory computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that methods and apparatus todetermine vehicle weight have been disclosed that assist a person inloading and/or operating a vehicle by facilitating vehicle weightdeterminations. Some disclosed examples provide visual and/or audiblealerts to the person when the vehicle is improperly loaded.

The following paragraphs provide various examples of the examplesdisclosed herein.

Example 1 can be a vehicle controller configured to control a motoroperatively coupled to a suspension system to raise or lower a vehicle,determine a first parameter of the motor while controlling the motor toraise or lower the vehicle when the vehicle is unloaded, determine asecond parameter of the motor while controlling the motor to raise orlower the vehicle when the vehicle is at least partially loaded, andcalculate a weight of the vehicle based on the first and secondparameters of the motor.

Example 2 includes the apparatus of example 1, wherein the vehiclecontroller operates the motor to change a ride height of the vehicle.

Example 3 includes the apparatus of any one of examples 1-2, wherein thevehicle controller operates the motor to adjust a spring seat.

Example 4 includes the apparatus of any one of examples 1-3, furtherincluding a sensor to measure the first parameter when the vehicle isunloaded.

Example 5 includes the apparatus of any one of examples 1-4, furtherincluding the sensor to measure the second parameter when the vehicle isat least partially loaded.

Example 6 includes the apparatus of any one of examples 1-5, wherein thefirst and second parameters include i) a ride height of the vehicle, ii)a current, a voltage, or a power provided to the motor, or iii) atorque, or a force provided from the motor.

Example 7 includes the apparatus of any one of examples 1-6, wherein thevehicle controller is to generate i) a first data relationship for thefirst parameter when the vehicle is unloaded, and ii) a second datarelationship for the second parameter when the vehicle is at leastpartially loaded.

Example 8 includes the apparatus of any one of examples 1-7, wherein thevehicle controller is to generate the first and second datarelationships by generating a first plot corresponding to the first datarelationship, and a second plot corresponding to the second datarelationship.

Example 9 includes the apparatus of any one of examples 1-8, wherein thevehicle controller is to determine the weight of the vehicle based on anoffset between the first parameter of the motor from the first plot andthe second parameter of the motor from the second plot.

Example 10 can be a suspension system, and a controller configured to:control, via a motor, the suspension system to adjust a ride height ofthe vehicle, perform a comparison of first and second parameters of themotor, the first parameter based on operating the motor when the vehicleis unloaded, the second parameter based on operating the motor when thevehicle is at least partially loaded, and calculate a weight of thevehicle based on the comparison.

Example 11 includes the vehicle of example 10, further including sensorsto determine the first and second parameters based on measuring one ormore of electrical current, voltage, or, power used by the suspensionsystem in response to adjusting the ride height.

Example 12 includes the vehicle of any one of examples 10-11, whereinthe controller controls, via the motor, the suspension system byadjusting a position of an actuator to adjust the ride height of thevehicle.

Example 13 includes the vehicle of any one of examples 10-12, whereinthe controller generates one or more data relationships between thefirst and second parameters of the suspension system, the firstparameter in a first data relationship and the second parameter in asecond data relationship.

Example 14 includes the vehicle of any one of examples 10-13, whereinthe controller calculates the weight of the vehicle based on an offsetof the comparison between the first and second parameters, the offsetbased on a difference between motor parameters corresponding to a sameride height of the vehicle.

Example 15 includes the vehicle of any one of examples 10-14, whereinthe controller operates the motor when the vehicle is unloaded todetermine at least one of a baseline current, torque, or forcemeasurement associated with adjusting the ride height of the vehicle toa first ride height.

Example 16 can be a tangible machine-readable storage medium includinginstructions which, when executed, cause a processor to at least controla motor operatively coupled to a suspension system to change a rideheight of a vehicle, determine a first parameter of the motor whilecontrolling the motor to raise or lower the vehicle when the vehicle isunloaded, determine a second parameter of the motor while controllingthe motor to raise or lower the vehicle when the vehicle is loaded, andcalculate a weight of the vehicle based on the first and secondparameters of the motor.

Example 17 includes the tangible machine-readable storage medium ofexample 16, wherein the instructions, when executed, further cause theprocessor to measure the first parameter when the vehicle is unloaded,and measure the second parameter when the vehicle is at least partiallyloaded.

Example 18 includes the tangible machine-readable storage medium of anyone of examples 16-17, wherein the first and second parameters includei) a ride height of the vehicle, ii) a current, a voltage, or a powerprovided to the motor, or iii) a torque, or a force provided from themotor.

Example 19 includes the tangible machine-readable storage medium of anyone of examples 16-18, wherein the instructions, when executed, furthercause the processor to generate i) a first data relationship for thefirst parameter when the vehicle is unloaded, and ii) a second datarelationship for the second parameter when the vehicle is at leastpartially loaded.

Example 20 includes the tangible machine-readable storage medium of anyone of examples 16-19, wherein the instructions, when executed, furthercause the processor to generate the first and second data relationshipsby generating a first plot corresponding to the first data relationship,and a second plot corresponding to the second data relationship.

Example 21 includes the tangible machine-readable storage medium of anyone of examples 16-20, wherein the instructions, when executed, furthercause the processor to determine the weight of the vehicle based on anoffset between the first parameter of the motor from the first plot andthe second parameter of the motor from the second plot.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. An apparatus, comprising: a vehicle controllerconfigured to: control a motor operatively coupled to a suspensionsystem to raise or lower a vehicle; determine a first parameter of themotor while controlling the motor to raise or lower the vehicle when thevehicle is unloaded; determine a second parameter of the motor whilecontrolling the motor to raise or lower the vehicle when the vehicle isat least partially loaded; and calculate a weight of the vehicle basedon the first and second parameters of the motor.
 2. The apparatus ofclaim 1, wherein the vehicle controller operates the motor to change aride height of the vehicle.
 3. The apparatus of claim 2, wherein thevehicle controller operates the motor to adjust a spring seat.
 4. Theapparatus of claim 1, further including a sensor to measure the firstparameter when the vehicle is unloaded.
 5. The apparatus of claim 4,further including the sensor to measure the second parameter when thevehicle is at least partially loaded.
 6. The apparatus of claim 5,wherein the first and second parameters include i) a ride height of thevehicle, ii) a current, a voltage, or a power provided to the motor, oriii) a torque, or a force provided from the motor.
 7. The apparatus ofclaim 5, wherein the vehicle controller is to generate i) a first datarelationship for the first parameter when the vehicle is unloaded, andii) a second data relationship for the second parameter when the vehicleis at least partially loaded.
 8. The apparatus of claim 7, wherein thevehicle controller is to generate the first and second datarelationships by generating a first plot corresponding to the first datarelationship, and a second plot corresponding to the second datarelationship.
 9. The apparatus of claim 8, wherein the vehiclecontroller is to determine the weight of the vehicle based on an offsetbetween the first parameter of the motor from the first plot and thesecond parameter of the motor from the second plot.
 10. A vehicle,comprising: a suspension system; and a controller configured to:control, via a motor, the suspension system to adjust a ride height ofthe vehicle; perform a comparison of first and second parameters of themotor, the first parameter based on operating the motor when the vehicleis unloaded, the second parameter based on operating the motor when thevehicle is at least partially loaded; and calculate a weight of thevehicle based on the comparison.
 11. The vehicle of claim 10, furtherincluding sensors to determine the first and second parameters based onmeasuring one or more of electrical current, voltage, or, power used bythe suspension system in response to adjusting the ride height.
 12. Thevehicle of claim 10, wherein the controller controls, via the motor, thesuspension system by adjusting a position of an actuator to adjust theride height of the vehicle.
 13. The vehicle of claim 10, wherein thecontroller generates one or more data relationships between the firstand second parameters of the suspension system, the first parameter in afirst data relationship and the second parameter in a second datarelationship.
 14. The vehicle of claim 10, wherein the controllercalculates the weight of the vehicle based on an offset of thecomparison between the first and second parameters, the offset based ona difference between motor parameters corresponding to a same rideheight of the vehicle.
 15. A tangible machine-readable storage mediumincluding instructions which, when executed, cause a processor to atleast: control a motor operatively coupled to a suspension system tochange a ride height of a vehicle; determine a first parameter of themotor while controlling the motor to raise or lower the vehicle when thevehicle is unloaded; determine a second parameter of the motor whilecontrolling the motor to raise or lower the vehicle when the vehicle isloaded; and calculate a weight of the vehicle based on the first andsecond parameters of the motor.
 16. The tangible machine-readablestorage medium of claim 15, wherein the instructions, when executed,further cause the processor to measure the first parameter when thevehicle is unloaded, and measure the second parameter when the vehicleis at least partially loaded.
 17. The tangible machine-readable storagemedium of claim 16, wherein the first and second parameters include i) aride height of the vehicle, ii) a current, a voltage, or a powerprovided to the motor, or iii) a torque, or a force provided from themotor.
 18. The tangible machine-readable storage medium of claim 17,wherein the instructions, when executed, further cause the processor togenerate i) a first data relationship for the first parameter when thevehicle is unloaded, and ii) a second data relationship for the secondparameter when the vehicle is at least partially loaded.
 19. Thetangible machine-readable storage medium of claim 18, wherein theinstructions, when executed, further cause the processor to generate thefirst and second data relationships by generating a first plotcorresponding to the first data relationship, and a second plotcorresponding to the second data relationship.
 20. The tangiblemachine-readable storage medium of claim 19, wherein the instructions,when executed, further cause the processor to determine the weight ofthe vehicle based on an offset between the first parameter of the motorfrom the first plot and the second parameter of the motor from thesecond plot.